home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Dream Studio
/
Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso
/
DREAMSDK.WIN
/
INCLUDE
/
I3DEXAB.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-01
|
7KB
|
153 lines
/* $Id: i3dexab.h 1.2 1995/06/29 00:14:37 YannPC Exp $ */
/*****************************************************************************\
* *
* I3DExAB.h - *
* I3DExAtmosphericShader definition *
* I3DExBackgroundShader definition *
* *
* Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
* *
\*****************************************************************************/
#ifndef __I3DEXAB__
#define __I3DEXAB__
#ifndef __I3DEX__
#include "I3DEx.h"
#endif
//****** Globally Unique Ids *************************************************
DEFINE_GUID(IID_I3DExAtmosphericShader, 0x99FF7660L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
DEFINE_GUID(IID_I3DExBackground, 0x9D2399C0L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
/*****************************************************************************\
* I3DExAtmosphericShader *
* *
* Atmospheric Shader *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DExAtmosphericShader
DECLARE_INTERFACE_(I3DExAtmosphericShader, I3DExDataExchanger) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DExtension methods
STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
// I3DExDataExchanger methods
STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
STDMETHOD(ExtensionDataChanged) (THIS) PURE;
STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
STDMETHOD_(short, GetResID) (THIS) PURE;
// I3DExAtmosphericShader methods
STDMETHOD(SegmentFilter) (THIS_ VECTOR3D* beg, VECTOR3D* end, COLOR3D* filterOut) PURE;
STDMETHOD(DirectionFilter) (THIS_ VECTOR3D* origin, VECTOR3D* direction, COLOR3D* filterOut) PURE;
};
/*****************************************************************************\
* I3DExBackground *
* *
* Background *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DExBackground
DECLARE_INTERFACE_(I3DExBackground, I3DExDataExchanger) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DExtension methods
STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
// I3DExDataExchanger methods
STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
STDMETHOD(ExtensionDataChanged) (THIS) PURE;
STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
STDMETHOD_(short, GetResID) (THIS) PURE;
// I3DExBackground methods
STDMETHOD(GetBackgroundColor) (THIS_ VECTOR3D* direction, COLOR3D* resultColor) PURE;
};
/*****************************************************************************\
* I3DExBackdrop *
* *
* Backdrop Shader *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DExBackdrop
DECLARE_INTERFACE_(I3DExBackdrop, I3DExDataExchanger) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DExtension methods
STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
// I3DExDataExchanger methods
STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
STDMETHOD(ExtensionDataChanged) (THIS) PURE;
STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
STDMETHOD_(short, GetResID) (THIS) PURE;
// I3DExBackdrop methods
STDMETHOD(GetBackdropColor) (THIS_ VECTOR2D* screenPoint, BOX2D* screenMinMax, COLOR3D* resultColor) PURE;
};
/*****************************************************************************\
* I3DExAmbientLight *
* *
* Ambient Light *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DExAmbientLight
DECLARE_INTERFACE_(I3DExAmbientLight, I3DExDataExchanger) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DExtension methods
STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
// I3DExDataExchanger methods
STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
STDMETHOD(ExtensionDataChanged) (THIS) PURE;
STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
STDMETHOD_(short, GetResID) (THIS) PURE;
// I3DExAmbientLight methods
STDMETHOD(GetColor) (THIS_ COLOR3D* resultColor) PURE;
};
#endif